Multiple Protocol Label Switching (MPLS) has been widely deployed in service provider networks to address a multitude of problems in such networks, including speed, scalability, quality of service, and traffic engineering (TE). An MPLS network comprises a set of Label Edge Routers (LERs) and Label Switch Routers (LSRs).
An LER is located on the edge of an MPLS network. It encapsulates packets entering the MPLS network with labels, and strips labels from packets exiting the MPLS network. Its forwarding plane thus has two tables, an Encapsulation Label Table (ELT) storing labels to be pushed into packets, and a Terminating Label Table (TLT) storing labels to be popped from the packets.
The core of an MPLS network typically consists of LSRs, which forward packets based on labels in their headers and ingress ports. Such forwarding decisions are stored in Label Forwarding Information Base (LFIB), which has a lookup key of (ingress_port, label). Label switch paths (LSPs) are paths between an ingress LER and an egress LER of an MPLS network. Therefore, the LSP typically traverses two LERs and one or more LSRs.
The number of possible LSPs between ingress and egress LERs can be very high, i.e., two to the power of the number of LSRs. Because in a conventional MPLS network one label is assigned to each LSP, the number of labels can also be extremely large. However, resources (e.g., LFIB, ELT, and TLT) on the routers are limited, and thus the large number of labels may impede operation of the routers and/or increase the cost of operating and maintaining the network.